﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using BuscadorDePreco.DataContract;
using BuscadorDePreco.Data;

namespace BuscadorDePreco
{
    public partial class CadastrarMarca : System.Web.UI.Page
    {
        private int idCadastrado;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                idCadastrado = -1;

                string id = Request.Params["id"];

                if (!string.IsNullOrEmpty(id))
                {
                    byte[] b = Convert.FromBase64String(id);
                    string strOriginal = System.Text.Encoding.UTF8.GetString(b);
                    int idInt = int.Parse(strOriginal);

                    MarcaTableAdapter marcaTA = new MarcaTableAdapter();
                    MarcaData data = marcaTA.RecuperaMarca(idInt);

                    if(data != null)
                        PreencherCampos(data);

                    MarcaIdHdf.Value = strOriginal;

                    BotoesEdicao.Style["display"] = "block";
                    BotoesCadastro.Style["display"] = "none";
                }
            }
        }

        protected void CadastrarBtn_Click(object sender, EventArgs e)
        {
            MarcaData data = new MarcaData();
            data.Nome = NomeMarcaTb.Text;

            try
            {
                MarcaTableAdapter marcaTA = new MarcaTableAdapter();
                idCadastrado = marcaTA.AdicionarMarca(data);
            }
            catch
            {
                ResultadoCadastroLbl.ForeColor = Color.Red;
                ResultadoCadastroLbl.Text = "Erro ao realizar o cadastro!";
            }

            ResultadoCadastroLbl.Text = "Cadastro realizado com sucesso!";
            ResultadoCadastroLbl.Visible = true;
        }

        protected void SalvarBtn_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(MarcaIdHdf.Value))
            {
                MarcaData newData = new MarcaData();
                newData.Id = int.Parse(MarcaIdHdf.Value);
                newData.Nome = NomeMarcaTb.Text;

                MarcaTableAdapter marcaTA = new MarcaTableAdapter();
                marcaTA.AtualizarMarca(newData);

                Response.Redirect("/Marcas.aspx");
            }
        }

        private void PreencherCampos(MarcaData data)
        {
            NomeMarcaTb.Text = data.Nome;
        }
    }
}